/*#include <stdio.h>
void input(int a[],int n);
void change(int a[],int n,int ch);
void output(int a[],int n);
int main()
{
    int a[100],n,ch;
    scanf("%d%d",&n, &ch);
    ch=ch%10;
    input(a,n);
    change(a,n,ch);
    output(a,n);
    return 0;
}

void input(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",a+i);
    }
}

void change(int a[],int n,int ch)
{
    int r;
    int i,k;
    for(i=0;i<ch;i++)
    {
        r=*(a+n-1);
        for(k=n-1;k>0;k--)
        {
            *(a+k)=*(a+k-1);
        }
        *a=r;
    }
}

void output(int a[],int n)
{
    for(int i=0;i<n;i++)
    {
        printf("%d",a[i]);
        if(i!=n-1)
        {
            printf(" ");
        }
    }
}*/

/*
#include <stdio.h>
void input(int a[],int n);
void change(int a[],int n,int ch);
void output(int a[],int n);
int main()
{
    int a[10],n,ch;
    n=10;
    input(a,n);
    scanf("%d",&ch);
    ch=ch%10;
    change(a,n,ch);
    output(a,n);
    return 0;
}

void input(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",a+i);
    }
}

void change(int a[],int n,int ch)
{
    int r;
    int i,k;
    for(i=0;i<ch;i++)
    {
        r=*(a+n-1);
        for(k=n-1;k>0;k--)
        {
            *(a+k)=*(a+k-1);
        }
        *a=r;
    }
}

void output(int a[],int n)
{
    for(int i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
}
*/
#include<stdio.h>

int main() {
    int a[100];
    int n, s, i;
    scanf("%d", &n);
    scanf("%d", &s);
    s = s % n;
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < n; i++) {
        if (i >= s)
            printf("%d ", a[i - s]);
        else
            printf("%d ", a[i + n - s]);
    }
    getchar();
    return 0;
}

